1. The Field of the Invention
The present invention relates generally to integrated circuits. More specifically, the present invention relates to mechanisms for configuring the integrated circuit to select one of multiple external device interfaces at a time to use during communication with external devices.
2. Background and Relevant Technology
Electronic and computing technology has transformed the way that we work and play. Many electronic or computing systems rely on a variety of components that cooperatively interact to perform complex functions. Many of these components are integrated circuit chips.
The integrated circuits include the complex circuitry that performs the complex functions. The integrated circuits tend to be composed of a semiconductor (e.g., silicon) or dielectric (e.g., sapphire) upon which the circuitry as fabricated.
Integrated circuits often come in a package that allows the integrated circuit chip to interface with the printed circuit board, and provides some level of protection for the integrated circuit chip. The protection might include Electro-Magnetic Interference (EMI) shielding, temperature dissipation structures, and/or physical barrier protection against inadvertent contacting the delicate circuit structures on the chip. The package includes a number of pins that are appropriately positioned such that the package may be plugged into a socket on the integrated circuit board. Many of these pins act as an external device interface that allows the integrated circuit chip to send signals to and receive signals from other electrical components in an electrical system.
Typically, the external device interface consists of external connections that are configured for a particular external device. For example, the external device interface may be a two wire interface configured to communicate with an external chip or device using the I2C communication protocol.
In many applications, a integrated circuit chip may include a master serial controller that is used to control the external device interface. For example, the serial controller may provide data to the I2C interface for communication to the external device and may receive signals from the external device interface that have been received from the external device.
Many integrated circuit chips, however, communicate with multiple external devices and therefore have multiple external interfaces. For example, a chip may have the I2C interface discussed above and a Serial Peripheral Interface (SPI) interface. The SPI interface is a common four wire interface. In that case, the chip would need two master serial controllers to control both of the different interfaces. If the chip had several external device interfaces, then the number of necessary master serial controllers would increase according to the number of interfaces.
Having a single serial controller for each device interface is expensive. In addition, valuable chip space is needlessly used by each of the individual controllers, which can drive up fabrication costs. Also, valuable chip resources are consumed to support each serial controller. Therefore, what would be advantageous is a single serial controller capable of selecting and controlling multiple external device interfaces.